package com.zyg.apart.util;



import java.text.ParseException;


/**
 * 计算两个日期的月份差
 */
public class DateUtil {

    public static long getMonthSub(String beginDateStr, String endDateStr) {
        long month = 0;
        java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(
                "yyyy-MM-dd");
        java.util.Date beginDate = null;
        java.util.Date endDate = null;
        try {
            beginDate = format.parse(beginDateStr);
            endDate = format.parse(endDateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        month = (endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000) / 30;
        // System.out.println("相隔的天数="+day);

        return month;
    }

    /**
     * 给起始日期和给定月份，计算结束日期工具
     * 开始日期格式为：yyyy-MM-dd
     * */
    public static String getEndDateByMonths(String startDateStr, int months){
        //分隔日期为字符串数组，1为年，2为月，3为日
        String dataStr[] = startDateStr.split("-");
        //年份,开始日期的月份加上当前月份。除以12，即增加年数。
        int  year = (Integer.parseInt(dataStr[1]) + months)/12;
        //月份
        int mon = (Integer.parseInt(dataStr[1]) + months)%12;

        //格式化月份。
        String a = "";
        if(mon<10){
            if(mon<1){
                a = "12";
            }else{
                a = "0"+mon;
            }
        }else {
            a = mon+"";
        }
        dataStr[0]=String.valueOf(Integer.parseInt(dataStr[0]) + year);
        dataStr[1]=a;
        String end ="";
        end = dataStr[0]+"-"+dataStr[1]+"-"+dataStr[2];
        return end;
    }

}
